package cn.mall.base.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

@Configuration
public class GlobalCorsConfig {
    @Bean
    public CorsFilter corsFilter() {

        //1.添加CORS配置信息
        CorsConfiguration config = new CorsConfiguration();
        //1) 允许的域,不要写*，否则cookie就无法使用了
        config.addAllowedOrigin("http://localhost:63342");
        config.addAllowedOrigin("http://localhost:8083");
        config.addAllowedOrigin("http://192.168.1.7:8082");
        config.addAllowedOrigin("http://192.168.1.7:8081");
        config.addAllowedOrigin("http://192.168.1.7:8084");
        config.addAllowedOrigin("http://192.168.1.7");
        config.addAllowedOrigin("http://192.168.0.103");
        config.addAllowedOrigin("http://192.168.0.103:8082");
        config.addAllowedOrigin("http://192.168.0.103:8081");
        config.addAllowedOrigin("http://192.168.0.103:8084");
        config.addAllowedOrigin("http://8.217.49.47:8082");
        config.addAllowedOrigin("http://8.217.49.47:8083");
        config.addAllowedOrigin("http://8.217.49.47:80");
        config.addAllowedOrigin("http://8.217.49.47");
        config.addAllowedOrigin("http://8.217.49.47:8081");
        config.addAllowedOrigin("http://8.217.49.47:8084");
        config.addAllowedOrigin("http://8.217.49.47:63342");
        config.addAllowedOrigin("http://8.217.49.47:63343");
        config.addAllowedOrigin("http://localhost:63343");
        config.addAllowedOrigin("http://shoppinght.com");
        config.addAllowedOrigin("http://webshopdonw.com");
        config.addAllowedOrigin("http://webshoppingfour.com");
        config.addAllowedOrigin("http://webshoppingtwo.com");
        config.addAllowedOrigin("webshoppingfour.com");
        config.addAllowedOrigin("webshoppingtwo.com");
        config.addAllowedOrigin("http://webshoppingone.com");
        config.addAllowedOrigin("shoppinght.com");
        config.addAllowedOrigin("webshopdonw.com");
        config.addAllowedOrigin("webshoppingthree.com");
        config.addAllowedOrigin("webshoppingone.com");
        config.addAllowedOrigin("http://webshoppingone.com");
        config.addAllowedOrigin("http://webshoppingthree.com");
        config.addAllowedOrigin("http://localhost:63343");



        //2) 是否发送Cookie信息
        config.setAllowCredentials(true);
        //3) 允许的请求方式
        config.addAllowedMethod("OPTIONS" );
        config.addAllowedMethod("HEAD" );
        config.addAllowedMethod("GET" );
        config.addAllowedMethod("PUT" );
        config.addAllowedMethod("POST" );
        config.addAllowedMethod("DELETE" );
        config.addAllowedMethod("PATCH" );
        // 4）允许的头信息
        config.addAllowedHeader("*" );
        //2.添加映射路径，我们拦截一切请求
        UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
        configSource.registerCorsConfiguration("/**", config);
        //3.返回新的CorsFilter.
        return new CorsFilter(configSource);

    }
}
